﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Numerics;
using RRRSRoguelike;
using RRRSRoguelike.Managers;
using RRRSRoguelike.Helpers;
using RRRSRoguelikeData;
using RRRSRoguelike.Helpers.Behaviors;

namespace RRRSRoguelike.Entities.Creatures
{
	/// <summary>
	/// Represents the current sole bad guy.
	/// </summary>
	public class Monster : Creature
	{

		#region constructor
		/// <summary>
		/// Takes a point and initializes the monster.
		/// </summary>
		/// <param name="p"></param>
		public Monster(Point position, TileData tileData)
			: base(position, tileData)
		{
		}
		#endregion

		#region methods
		//The monster should be in charge of where it moves.
		//This should be a behaviour that can be used by any creature
		/// <summary>
		/// 
		/// </summary>
		/// <param name="playerLocation"></param>
		/// <param name="monsters"></param>
		public void MoveToPlayer(Point playerLocation, IList<Monster> monsters)
		{
			//This is hard code!!! better to use a delgate!
			if (Name == "Lurker")
			{
				Lurker.MoveToTarget(this, playerLocation);
			}
			else
			{
				Mindless.MoveToTarget(this, playerLocation);
			}
		}
		#endregion

	}
}
